home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
151-175
/
disk_160
/
neuralnets
/
readme
< prev
next >
Wrap
Text File
|
1992-05-06
|
3KB
|
56 lines
author: Josiah C. Hoskins
date: June 1987
purpose: backpropagation learning rule neural net simulator
for the tabula rasa Little Red Riding Hood example
description: Bpsim provides an implementation of a neural network
containing a single hidden layer which uses the
generalized backpropagation delta rule for learning.
A simple user interface is supplied for experimenting
with a neural network solution to the Little Red Riding
Hood example described in the text.
In addition, bpsim contains some useful building blocks
for further experimentation with single layer neural
networks. The data structure which describes the general
processing unit allows one to easily investigate different
activation (output) and/or error functions. The utility
function create_link can be used to create links between
any two units by supplying your own create_in_out_links
function. The flexibility of creating units and links
to your specifications allows one to modify the code
to tune the network architecture to problems of interest.
There are some parameters that perhaps need some
explanation. You will notice that the target values are
either 0.1 or 0.9 (corresponding to the binary values
0 or 1). With the sigmoidal function used in out_f the
weights become very large if 0 and 1 are used as targets.
The ON_TOLERANCE value is used as a criteria for an output
value to be considered "on", i.e., close enough to the
target of 0.9 to be considered 1. The learning_rate and
momentum variables may be changed to vary the rate of
learning, however, in general they each should be less
than 1.0.
Bpsim has been compiled using CI-C86 version 2.30 on an
IBM-PC and the Sun C compiler on a Sun 3/160.
Note to compile and link on U*IX machines use:
cc -o bpsim bpsim.c -lm
For other machines remember to link in the math library.
status: This program may be freely used, modified, and distributed
except for commercial purposes.
Copyright (c) 1987 Josiah C. Hoskins
Modified to function properly under Turbo C by replacing malloc(...)
with calloc(...,1). Thanks to Pavel Rozalski who detected the error.
He assumed that Turbo C's "malloc" doesn't automatically set pointers
to NULL - and he was right!
Thomas Muhr, Berlin April, 1988